import unittest

from framework.AW.STrak import strak
from framework.AW.STrak.process import *
from framework.AW.STrak.strak import *
from framework.AW.STrak.station import *
from framework.AW.STrak.car import *


def increase_move():
    try:
        """
        用例1：增量移动
        1.初始化 包含动作：急停 初始化
        2.自动模式切换到手动模式下                   
        3.小车3运动模式调整为增量模式
        4.选择3号小车，使能
        5.增量移动：100mm 正向
        6.开始移动，小车到达1000mm
        7.检查小车3位置
        8.增量移动：-100mm 反向
        9.开始移动，小车到达900mm
        10.检查小车3位置

        11..移动结束后将小车三运动模式调整回绝对模式 以免影响其他测试
        12.移动结束后将模式调整回自动模式 以免影响其他测试
        """
        initial()
        mode_switch_manual()
        car_3_sport_mode_increase()
        enable_car_3()
        car_3_increase_move_100()
        car_3_move()
        car_3_pos_check_1000()
        car_3_increase_negative_move_100()
        car_3_move()
        car_3_pos_check_900()

    except Exception as e:
        print(f"测试过程出现异常:{e}")
        raise
    finally:
        car_3_sport_mode_abs()
        mode_switch_atuo()


class IncreaseMove(unittest.TestCase):
    @staticmethod
    def testOn():
        increase_move()